package com.hz.score.search.document;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@Document(collection = "ent_score")
public class EntScore {

    /**
     * 主键
     */
    @Id
    private ObjectId id;

    /**
     * 企业id
     * 为了与系统系统数据关联上，很有必要加入这个字段
     */
    @Field("co_id")
    private Long coId;

    /**
     * 企业名称
     */
    @Field("ent_nam")
    private String entNam;

    /**
     * 统一信用代码
     */
    @Field("cre_cod")
    private String creCod;

    /**
     * 数据年份
     */
    @Field("dat_yea")
    private String dataYear;

    /**
     * 业务类型
     * 区别各个高新区
     */
    @Field("biz_typ")
    private String bizTyp;

    /**
     * 客户类型查询码
     */
    @Field("biz_typ_cod")
    private String bizTypCode;

    /**
     * 成立时间
     */
    @Field("es_dat")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone="GMT+8")
    private Date esDat;
    /**
     * 公司类型
     */
    @Field("ent_mas")
    private Integer entMas;

    /**
     * 注册资金
     */
    @Field("reg_cap")
    private BigDecimal regCap;
    /**
     * 注册资本(金)币种
     */
    @Field("reg_cap_cur")
    private String regCapCur;
    /**
     * 注册资金-人民币
     */
    @Field("reg_cap_rmb")
    private BigDecimal regCapRmb;
    /**
     * 注册类型
     */
    @Field("reg_ent_typ")
    private Integer regEntTyp;
    /**
     * 注册类型名称
     */
    @Field("ent_typ_nam")
    private String entTypNam;
    /**
     * 注册地址
     */
    @Field("dom")
    private String dom;

    /**
     * 行业代码
     */
    @Field("ind")
    private String ind;
    /**
     * 行业名称
     */
    @Field("ind_nam")
    private String indNam;

    /**
     * 技术领域代码
     */
    @Field("field")
    private String field;
    /**
     * 技术领域名称
     */
    @Field("field_nam")
    private String fieldNam;

    /**
     * 法人姓名
     */
    @Field("nam")
    private String nam;
    /**
     * 法人手机
     */
    @Field("pho")
    private String pho;

    /**
     * 经营状况
     */
    @Field("ent_sta_nam")
    private String entStaNam;
    /**
     * 吊销时间
     */
    @Field("can_dat")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone="GMT+8")
    private String canDat;

    /**
     * 经营地址
     */
    @Field("op_loc")
    private String opLoc;
    /**
     * 省份代码
     */
    @Field("pro_cod")
    private String proCod;
    /**
     * 市级代码
     */
    @Field("cit")
    private String cit;
    /**
     * 区级代码
     */
    @Field("are")
    private String are;
    /**
     * 乡镇代码
     */
    @Field("tow_cod")
    private String towCod;

    /**
     * 联系人
     */
    @Field("con_act")
    private String conAct;
    /**
     * 联系人手机
     */
    @Field("con_act_pho")
    private String conActPho;
    /**
     * 联系人电话
     */
    @Field("con_act_tel")
    private String conActTel;
    /**
     * 联系人email
     */
    @Field("con_act_ema")
    private String conActEma;

    /**
     * 创建时间
     */
    @Field("cre_tim")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date creTim;
    /**
     * 更新时间
     */
    @Field("upd_tim")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date updTim;

    /**
     * 企业经营数据值
     */
    @Field("comm_dat")
    private List<CommData> commDataList;

    /**
     * 企业指标数据值
     */
    @Field("ind_dat")
    private List<IndData> indDataList;

    /**
     * 企业总积分
     */
    @Field("tot_sco")
    private Integer totalScore;

    /**
     * 标签信息
     */
    @Field("lab_dat")
    private List<LabData> labDataList;
}
